package com.xyz.ListTest;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class ListTest {
    public static void main(String[] args) {
        // 新建
        List<String> list = new ArrayList<>();
        // 添加新项
        list.add("小白");
        list.add("小红");
        list.add("小黑");
        list.add("小花");
        //第一种遍历方法使用 For-Each 遍历 List
        System.out.println("###############################");
        for (String str : list) {
            System.out.println(str);
        }
        System.out.println("###############################");
        System.out.println();

        //第二种遍历，把链表变为数组相关的内容进行遍历
        String[] strArray=new String[list.size()];
        list.toArray(strArray);
        System.out.println("###############################");
        for(int i=0;i<strArray.length;i++) //这里也可以改写为  for(String str:strArray) 这种形式
        {
            System.out.println(strArray[i]);
        }
        System.out.println("###############################");
        System.out.println();

        //第三种遍历 使用迭代器进行相关遍历
        Iterator<String> ite=list.iterator();
        System.out.println("###############################");
        while(ite.hasNext())//判断下一个元素之后有值
        {
            System.out.println(ite.next());
        }
        System.out.println("###############################");
        System.out.println();

        //第四种，直接对容器进行循环
        System.out.println("###############################");
        for(int i = 0;i<list.size();i++)
        {
            String s = list.get(i);
            System.out.println(s);
        }
        System.out.println("###############################");
        System.out.println();
    }

}
